In computer vision, machine vision and image processing, object recognition is the task of finding and identifying objects in images or video sequences. While humans recognize a multitude of objects in images with little effort, this task is still a challenge for computer vision systems. Many approaches to object recognition have been implemented in order to optimize the technique, whether in terms of processing power, time, or accuracy. Existing object recognition approaches have their limitations. In particular, many object recognition approaches are not “scale invariant.” In order to recognize an object at multiple scales, it is necessary to repeat the object recognition process for multiple scale factors, which can be time consuming and processing intensive. With emerging technologies in the fields of robotics, medical imaging, and surveillance, to name just a few, there is a growing need to provide object recognition techniques that can minimize time and processing power while providing results having a high level of accuracy.